// --------------------- 切换登录和注册的盒子 --------------------
// 点击登录盒子里的a标签 让注册盒子显示 遮挡住登录盒子
$('.login a').on('click',function () {
    $('.register').show();
});

$('.register a').on('click',function () {
    $('.register').hide();
})

// ---------------------------登录功能----------------
// 表单提交的时候，阻止默认行为 收集账号和密码 ajax提交到接口
// 注册表单事件
$('.login form').on('submit', function (e) {
    e.preventDefault();
    // 阻止默认行为
    let data = $(this).serialize();
    // 收集账号和密码
    axios.post(`http://www.itcbc.com:8080/api/login`, data).then(res => {
        // 发送ajax请求
        // res.data 表示服务器返回的结果
      if (res.data.status === 0) {
        layer.msg(res.data.message, { time: 1500 }, () => {
            localStorage.setItem('token',res.data.token)
          // 跳转到index页面
          location.href = './index.html';
        });
      }
    });
  })


// ----------------------注册功能--------------------
// 表单提交的时候，阻止默认行为 收集账号和密码 ajax提交到接口
// 注册表单事件
$('.register form').on('submit',function(e){
    // 阻止默认行为
    e.preventDefault()
    // 收集注册信息
    let data = $(this).serialize()
    // 发送ajax请求
    axios.post('http://www.itcbc.com:8080/api/reguser',data).then(res=>{
        // 提示信息
        layer.msg(res.data.message)
        // 判断结果
        if(res.data.status ===0){
            // 重置表单
            $('.register form')[0].reset()
            // 隐藏注册盒子
            $('.register').hide()
        }
    })
})


// --------------------------表单验证----------------------
// 自定义验证规则
// 使用layui内置模块之前碧玺先加载模块

// 加载语法 let xxx = layui.模块名

let form = layui.form

form.verify({
    // 键(验证规则)：值(怎样验证)
    len:[/^\S{6,12}$/,'长度6-12位且不能有空格'],//^$一起用表示匹配整个字符串 \S表示非空白

    // 函数形式 函数的形参表示，使用该验证规则的输入框的值
    // 案例中，如果确认密码使用了这个验证规则，形参val表示我们输入的确认密码
    same: function(val){
        // 获取密码
        let pwd = $('.pwd').val()
        // 判断
        if(pwd !== val) return'两次密码不一致'
    }

})


// ----------------------添加响应拦截器------------------
axios.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    let {status,message} = response.data
    if(status ===1) layer.msg(message)
    return response;
  }, function (error) {
    // 对响应错误做点什么
    let {data: {status, message}} = error.response.data;
    layer.msg(message)
    return Promise.reject(error);
  });